The present invention concerns systems and methods for the recognition of fault conditions in the operation of an internal combustion engine. More specifically, the invention relates to such systems and methods for recognizing a particular fault condition when other faults exist.
Most modern internal combustion engines, particularly those for vehicles, are electronically controlled and monitored. A typical engine control module (ECM) includes a microprocessor that implements a set of software instructions operable to control various functions of the engine. For instance, the ECM implements fueling algorithms, that control the quantity of air and liquid fuel provided to the engine cylinder, firing time algorithms, and the like. In addition, the typical ECM receives signals from a plurality of sensors disposed at various locations throughout the engine. These sensors provide instantaneous information regarding the operating condition of the engine. The ECM includes software that monitors and evaluates these signals to determine if an engine failure has occurred, or is in the process of occurring.
A typical internal combustion engine controls system 10 is depicted in FIG. 1. The system includes the engine 11 that is comprised of the plurality of pistons 12 connected to the engine crankshaft 13. The engine includes an intake manifold 15 through which ambient air is received, and an exhaust manifold 16 through which the products of combustion are exhausted from each cylinder during each combustion cycle. A fuel system 17 controls the amount of liquid fuel provided to the cylinders. A cooling system 18 and a lubrication system 19 maintain the operating temperature of the engine throughout its entire speed range. All of these components are controlled by one or more control modules that communicate over datalinks. In the illustrated embodiment, one such control module, the ECM 20, is depicted.
The engine operating system 10 also includes a sensor databus 22 that comprises a collection of cables or wires connected between inputs to the ECM 20 and a plurality of condition sensors 23.sub.a -23.sub.r. For instance, the sensor 23.sub.a is an ambient temperature sensor, 23.sub.b an oil level sensor, 23.sub.c an oil temperature sensor, 23.sub.d and 23.sub.e oil pressure sensors, etc. Each of these sensors 23.sub.a -23.sub.r provides data at essentially every critical operating point of the vehicle engine system 10. This data includes temperature and pressure values for all of the fluid or gas elements of the system, as well as the engine speed, as provided by the speed sensor 23.sub.p.
The ECM 20 also includes a number of output ports 24 that allow data collected by the ECM to be externally read. These output ports can include RS232, J1587 or J1939 communications links, for instance. Data stored within the ECM 20 can be downloaded and evaluated using more sophisticated diagnostic software routines.
In addition, the ECM 20 provides signals to a fault indicator display system 25. This display system can take a variety of forms, depending on the nature of the fault to be indicated. For instance, most vehicles include individual annunciators for low oil pressure and high engine temperature. Other annunciators can include analog or digital gauges showing oil and coolant fluid levels. In a typical industrial or transportation application of an internal combustion engine, a series of annunciator lights are used to indicate various types of faults when the engine is first started, or at user selected times during the operation of the engine. In one type of installation, an array of four annunciator lights are illuminated in a particular sequence corresponding to different fault conditions. In one application, the fault conditions are "flashed out"--i.e., the lights are illuminated sequentially in particular patterns to indicate all of the active faults recognized by the ECM 20. Other displays can include alphanumeric displays or computer-based monitors.
Although there are many fault diagnosis or recognition algorithms in current engine/vehicle control systems, most follow a particular protocol. One such fault recognition system is graphically depicted in FIG. 2, which shows the value of a sensed parameter versus time. In this particular application, an inactive limit and an active limit are defined at particular magnitudes for the sensed value. If the sensed value falls below the inactive limits, no fault condition arises. However, if the sensed value exceeds the active limits for a particular period of time, such as time T1, the fault status is moved to active. So long as the sensed value stays above the active limits, the particular fault remains activated. On the other hand, if the sensed value falls below the inactivate limit for a particular time period, such as time T2, then the fault status is changed to inactive. In a typical fault recognition system, the inactivate limit is offset from the activate limit to avoid cycling of the fault status signal due to normal variations in the sensed value. In addition, in order to avoid a "false negative" or a "false positive," most fault-sensing algorithms require that a sensed value fall outside of the particular limit value for a pre-determined time period.
In many engine operating systems, such as the system 10, various levels of fault conditions are generated, based upon the particular sensor. The graph in FIG. 2 illustrates a "Type A" fault in which the activate and inactivate limits are fixed for the particular sensor value. The "Type A" fault condition can correspond to a coolant or lubrication temperature sensor output, for instance. On the other hand, a "Type B" fault condition corresponds to a sensor whose output can acceptably vary as a function of some other engine-operating condition. One such "Type B" fault condition is depicted in a graph of oil pressure versus engine speed shown in FIG. 3. It is certainly known that engine oil pressure increases with engine operating speed, so the particular inactivate and activate limits will themselves vary as a function of engine speed. Although this "Type B" fault condition requires comparison to speed dependent limits, the ECM diagnosis algorithms operate in essentially the same manner as for a "Type A" fault.
In its simplest form, engine failure diagnosis evaluates only a limited number of potential fault generating conditions. The occurrence of these fundamental fault conditions often provides little information as to the nature of the problem with the engine. For instance, illumination of the traditional oil temperature lamp on a vehicle dashboard only provides an indication that the oil temperature has exceeded an acceptable threshold, but does not provide any information as to the reason why the oil temperature has reached a fault level. As a result, the ECM 20 has evolved to a sophisticated diagnostic tool that can receive and process large amounts of data from the various engine condition sensors 23.sub.a -23.sub.r. In addition to the large number of data inputs, the ECM fault-recognition algorithms, that compare these sensor values to a variety of fixed and variable limit values, have also become more sophisticated. Moreover, the typical ECM 20 includes routines that perform various calculations using the data from a number of sensors. For example, cylinder power calculations can be conducted by the ECM to determine the theoretical power being generated by a particular cylinder. These power calculations make use of data from engine exhaust temperature and pressure sensors, intake air temperature and pressure values, and engine speed.
With this higher degree of sophistication, a much greater number of engine failure values are monitored and stored by the typical ECM 20. In a typical application, each particular fault condition is given a unique identifier code. This code can then be accessed by an engine technician, or even by other routines of the ECM, to perform various diagnostic tests. The table in FIG. 4 shows a typical array of fault codes and associated faults. For illustrative purposes, it can be seen that a wide variety of fault conditions can be evaluated and indicated by a typical ECM 20, ranging from high and low intake manifold pressure (Fault Codes 1 and 2), to failure of the pre-oil filter sensor (Code 9), to number four left bank cylinder power (Code 1673), to low oil pressure (Code 2048).
As might be anticipated, one engine failure often leads to a number of faults being activated. In a simple example, if the sensor databus or harness 22, is disconnected from the ECM 20, errors in each of the sensors will be acknowledged by the ECM. In this condition, each of the sensors may be in fact operating properly, but since the harness is disconnected, no sensor data is received by the ECM. The ECM would activate a fault code for each of the sensor fault signals, but these fault codes will not necessarily lead the engine technician to a proper solution.
As another example, fault conditions may arise in the signal from the intake air manifold temperature sensor as well as the low engine power sensor for a particular cylinder. Neither fault code provides adequate failure information on its own. However, it is known that under certain circumstances a rapid rise in manifold temperature accompanied by a low power for a particular cylinder can correspond to a valve seat failure for that cylinder. The inability to specifically pinpoint the source of the two activated fault codes will lead to an increase in engine downtime as the particular failures are diagnosed by an engine technician.
There is therefore a need for an engine failure recognition and diagnosis system that can help pinpoint the actual problem that has arisen within the engine operating system. This need extends to a fault recognition system that accounts for the generation of "false negatives" and helps pinpoint the source of the problem leading to the fault indications.